/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package logicaBancoDeDados;

import classes.Conector;
import java.sql.*;
import java.util.ArrayList;
import classes.Vendedor;
import javax.swing.JOptionPane;

/**
 *
 * @author User
 */
public class ConectaVendedores {

    public Conector conect = new Conector();
    public PreparedStatement prest = null;
    public String sql = null;
    public ResultSet rs = null;
    

    public ConectaVendedores() {
    }

    public void insere(Vendedor vendedor) {
        try {
            if(isCadastrado(vendedor) == false){
            sql = "INSERT INTO vendedores (nome,telefone,empresa) VALUES (?,?,?)";
            prest = conect.conn.prepareStatement(sql);
            prest.setString(1, vendedor.getNome());
            prest.setString(2, vendedor.getTelefone());
            prest.setString(3, vendedor.getEmpresa());
            prest.execute();
            JOptionPane.showMessageDialog(null, "Cadastrado com sucesso");
            }else{
                JOptionPane.showMessageDialog(null, "Vendedor já cadastrado");
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    public void remove(Vendedor vendedor) {
        try {
            sql = "delete from vendedores where id = ?";
            prest = conect.conn.prepareStatement(sql);
            prest.setInt(1, vendedor.getId());
            prest.executeQuery();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    public void altera(Vendedor vendedor) {
        try {
            sql = "UPDATE vendedores set nome =?, telefone = ?, empresa = ? where id = ?";
            prest = conect.conn.prepareStatement(sql);
            prest.setString(1, vendedor.getNome());
            prest.setString(2, vendedor.getTelefone());
            prest.setString(3, vendedor.getEmpresa());
            prest.setInt(4, vendedor.getId());
            prest.executeQuery();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    public ArrayList<Vendedor> listAll() {
        ArrayList<Vendedor> listaVendedor = new ArrayList<Vendedor>();
        try {
            sql = "SELECT * from vendedores";
            prest = conect.conn.prepareStatement(sql);
            rs = prest.executeQuery();
            while (rs.next()) {
                Vendedor v1 = new Vendedor();
                v1.setId(rs.getInt("id"));
                v1.setNome(rs.getString("nome"));
                v1.setEmpresa(rs.getString("empresa"));
                v1.setTelefone("telefone");
                listaVendedor.add(v1);
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
        return listaVendedor;
    }
    
        public ArrayList<Vendedor> listVendedorDistribuidor(String empresa) {
           ArrayList<Vendedor> listaVendedor = new ArrayList<Vendedor>();
        try {
            sql = "SELECT * from vendedores where empresa like ?";
            prest = conect.conn.prepareStatement(sql);
            prest.setString(1,empresa);
            rs = prest.executeQuery();
            while (rs.next()) {
                Vendedor v1 = new Vendedor();
                v1.setId(rs.getInt("id"));
                v1.setNome(rs.getString("nome"));
                v1.setEmpresa(rs.getString("empresa"));
                v1.setTelefone("telefone");
                listaVendedor.add(v1);
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
        return listaVendedor;
    }

    public boolean isCadastrado(Vendedor vendedor) {
            boolean cond = false;
        try {
            sql = "SELECT * from vendedores";
            prest = conect.conn.prepareStatement(sql);
            rs = prest.executeQuery();
            while (rs.next()) {
                if(vendedor.getNome().equalsIgnoreCase(rs.getString("nome")) == true){
                    cond = true;
                    break;
                }
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
        System.out.println(cond);
        return cond;
    }
}
